package org.zhadoop.stream.cql.builder;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.zhadoop.stream.api.Application;
import org.zhadoop.stream.cql.DriverContext;
import org.zhadoop.stream.cql.semanticanalyzer.analyzecontext.AnalyzeContext;

/**
 * 应用程序构建器
 * 专门用来完成多个解析内容到多个应用程序的转换
 * @author zwd
 *
 */
public class ApplicationBuilder {
	
	private static final Logger LOG = LoggerFactory.getLogger(ApplicationBuilder.class);

	/**
	 * 构建应用程序
	 * <p/>
	 * 在构建应用程序之前，要先执行逻辑优化器
	 * 在构建应用程序之后，要先执行物理优化器
	 * <p/>
	 * 整个应用程序的构建分如下几步
	 * 1、各个算子的构建
	 * 2、将完成拆分的应用程序解析成为Application
	 * 
	 * @param appName
	 * @param analyzeContexts
	 * @param context
	 * @return
	 */
	public Application build(String appName, List<AnalyzeContext> analyzeContexts, DriverContext driverContext) {
		
		return null;
	}
	
	
	
}
